In a typical data processing apparatus, data have to be moved between dedicated data processing devices, a controller and/or a central data processing device and an internal or external memory. The individual elements of the data processing apparatus are connected to one another via data buses, the data buses being connected to the data processing devices via bridges and an arbitration logic. The bridges are synchronization elements between the individual dedicated data processing devices, the central data processing device and the buses, etc. which serve e.g. for frequency matching. Such data processing systems are also used for example in the components of radio telecommunication systems.
One current example of a radio telecommunication system is the universal mobile telecommunications system (UMTS). The basic architecture of a UMTS radio telecommunication system has mobile stations or subscriber terminals (user equipment (UE)), a radio access network (RAN), a core network (CN) and a radio interface. The radio access network comprises devices for radio transmission of data and for this purpose has base stations, called node B in the case of UMTS, and a radio network controller (RNC), which links the radio access network to the core network. The base stations in each case provide coverage for a specific area or a cell in which mobile stations may be situated. The core network is the long-distance communications network that transports the users' data to the respective destination. For this purpose, the core network contains a multiplicity of switching devices and also gateways to other networks, for example the integrated services digital network (ISDN) or the Internet. The radio interface is the interface between a mobile station and a base station, the communication of which is effected via radio.
In the case of a UMTS radio telecommunication system, digital data to be transmitted are firstly subjected to a channel coding in order to provide the digital data with a redundancy. The digital data are then distributed between physical channels by means of a multiple access method in time frames of the available transmission bandwidth. Finally, the digital data are digitally modulated in order to be transmitted via a mobile radio channel. The mobile radio channel is divided in the time domain or frequency domain for a transmission operating mode and a reception operating mode by means of a time division duplex method (TDD) or a frequency division duplex method (FDD).
As a result of the channel coding, the data to be transmitted are protected against erroneous transmission via a mobile radio channel subjected to interference, or the redundancy enables error correction at the respective receiver of the data. Linear block codes or convolutional codes are generally used for channel coding. The Viterbi algorithm is often employed for decoding convolutional codes, such as e.g. turbo codes.
In the case of UMTS, a multiple access method used is the code division multiple access method CDMA, in which the bipolar data bit stream to be transmitted is multiplied and spread using a subscriber-specific bipolar code sequence or a spreading code. The elements of the spreading code are called chips in order to be able to distinguish them semantically from the bits of the data bit stream. Chips are in principle no different than bits. The multiplication of the data bit stream by the chip stream results in the spread bipolar data stream. Generally, the rate of the chip stream is a multiple of the rate of the data bit stream and is determined by the length of the spreading code, the so-called spreading factor SF. The data stream resulting from the phase-correct multiplication has the rate of the chip stream. The multiple access method is employed by all subscribers to impress a fingerprint on their useful data by means of a subscriber-specific spreading code, which fingerprint permits the transmitted signal to be recovered from the sum of the received signals. In the receiver, the bits of the data bit stream can be recovered from the received chip sequence by repeating the multiplication operation. For this purpose, the chip stream is once again multiplied in phase-correct fashion by the same spreading code that has already been used in the transmitter, which results in the transmitted data bit stream. Different data bit streams that are intended to be transmitted in parallel from the transmitter are multiplied by different, orthogonal code sequences or spreading codes and subsequently added. The summation signal subsequently also undergoes a so-called scrambling, which is effected by means of a chipwise multiplication of the summation signal by a cell-specific or station-specific scrambling code and identifies the cell or the base station.
In the case of UMTS, a modulation method employed is quaternary phase shift keying (QPSK), in which in each case two successive chips (bits) of a chip sequence to be transmitted are combined to form a chip pair. A chip pair in each case forms a symbol of a symbol space spanned by an inphase branch and a quadrature branch of the QPSK modulation in the complex plane, which has four elements. On account of the four-valued modulation method, two chips in each case are thus transmitted per modulation step. The gross chip rate is therefore twice as large as the modulation rate.
In the case of the UMTS, the time structure of the multiple access is divided into so-called time frames each of 10 ms. The duration of a time frame corresponds to the duration of 38 400 chips; the modulation rate is therefore 3.84 Mchips/s. Each time frame is subdivided into 15 time slots having a length of 666 μs, corresponding precisely to the duration of 2 560 chips. The chip duration is approximately 0.2604 μs.
In order to separate transmission signals and reception signals of a base station or of a mobile station or in order to separate the uplink from the mobile station to the base station and the downlink from the base station to the mobile station, UMTS radio telecommunication systems preferably use the time division duplex method (TDD), for example, in which transmission times and reception times alternate periodically within a frequency band. In the case of the frequency division duplex method (FDD), the uplink and downlink are separated by different frequency bands. Within a transmission direction, the abovementioned multiple access method then shares the available transmission bandwidth between individual subscribers or connections. The multiple access method together with the subscriber-specific spreading codes define the physical channels, as mentioned.
In the time division duplex (TDD) mode and in the frequency division duplex (FDD) mode, a physical channel is therefore determined by the code sequence used or the spreading code used, a time slot and by the frequency channel. A distinction is generally made between so-called dedicated physical channels and common physical channels. A dedicated physical channel is utilized exclusively by one connection; it is allocated anew in the event of connection set up and, if appropriate, during the connections. Common physical channels are utilized simultaneously or alternately by a plurality of connections. System information items emitted by each base station are transmitted via common physical channels, for example, which each mobile station can receive. Furthermore, there are for example common physical channels which serve for packet data transmission. The use of a common physical channel always requires a separate addressing of transmitter and receiver.
In the TDD mode or FDD mode, physical channels are e.g. DPCH (Dedicated Physical Channel), CCPCH (Common Control Physical Channel) with P-CCPCH (Primary CCPCH) and S-CCPCH (Secondary CCPCH), PRACH (Physical Random Access Channel), PUSCH (Physical Uplink Shared Channel), PDSCH (Physical Downlink Shared Channel), PICH (Paging Indication Channel) and CPICH (Common Pilot Channel). The DPCH transmits useful and control data of a connection by means of dedicated physical channels. This channel exists on the uplink and the downlink. The CCPCH realizes broadcasting services in a cell on the downlink. The CCPCH is divided into a primary P-CCPCH and a secondary S-CCPCH subchannel. The P-CCPCH serves for broadcasting system information items within a cell. The S-CCPCH serves e.g. for realizing radio paging. The PRACH realizes random access and exists only on the uplink. The PUSCH is a common channel which can be utilized by different mobile stations. Both useful and control data are transmitted via it. The PDSCH is the counterpart to the PUSCH on the downlink. The PICH realizes radio paging and may replace one or more subchannels for radio paging on the S-CCPCH. The CPICH channel is used for channel estimation on account of its transmitted symbols that are known in the receiver.
In UMTS radio telecommunication systems, the base stations (node B) in each case supply coverage for one or more cells. The base stations process received radio signals from the mobile stations situated in their cells. This processing comprises, inter alia, error correction by means of channel coding, spreading and despreading according to the CDMA multiple access method and modulation and demodulation according to the QPSK modulation method.
The mobile stations (UE) are the counterparts to the base stations, the radio network controller (RNC) and the core network (CN). The mobile stations are responsible for the processing of the radio signal in the same way as the base stations. At the command of the radio access network (RAN), a mobile station must be able to adapt the transmission power. The mobile station supplies information about where it is currently situated to the core network. The negotiation about the quality of service required for a specific service and the mutual authentication also take place between the mobile station and the core network.
In the uplink mode, information items are transmitted from the mobile stations via a radio link to the base stations. The information items from different mobile stations are coded according to the CDMA multiple access method and transmitted in physical channels via a common frequency channel or radio channel. In the downlink mode, information items are transmitted from a base station to the mobile stations situated in the cell of the base station via a radio link. The information items of the base station are coded according to the CDMA multiple access method and are transmitted in physical channels to the respective mobile station. A plurality of physical channels are combined to form a radio signal which is received e.g. as transmission signal from those base stations with which the mobile stations are in a radio contact.
The base stations and the mobile stations of the UMTS radio telecommunication system in each case have dedicated data processing devices and at least one central data processing device. The dedicated data processing devices are interchange-connected among themselves and also the central data processing device.
In the case of the base stations and the mobile stations of the UMTS radio telecommunication system, the central data processing device is for example a digital signal processor (DSP) or a microprocessor in order to execute the computationally complicated functions of a communication protocol. The central data processing device programs the dedicated data processing devices for the execution of specific defined functions with the aid of internal locally present registers or memories such as random access memories (RAM), for example, which are provided for storing parameters. If the central data processing device additionally itself performs signal processing tasks or else only initiates signal processing tasks in various dedicated data processing devices, as well as the parameters it is also necessary to transmit data blocks between the central data processing device or the internal memories of the central data processing device and the dedicated data processing devices.
In the case of the UMTS radio telecommunication system, for example, the dedicated data processing devices have a RAKE receiver, a channel decoder and a transmission module. The dedicated data processing devices are intended to free the central data processing device of specific signal processing tasks and are therefore also referred to as hardware accelerators.
The mobile radio channel is characterized by multipath propagation (reflection, detraction, refraction, etc.) of the transmitted signals, time dispersion and Doppler distortion. A radio signal emitted by a transmitter can often reach a receiver on a plurality of different propagation paths that differ from one another by virtue of different propagation times, phase angles and intensities. In order to reconstruct the transmission signal from a reception signal that is composed of a superposition of signals transmitted on the different propagation paths, it is conditioned by means of a rake receiver. The RAKE receiver has fingers which are respectively assigned to a propagation path of a signal and are operated with a sampling delay that compensates for the propagation time delay of the corresponding propagation path. Each finger furthermore comprises a correlator which multiplies the time-delayed reception signal of a propagation path by a spreading code in order to recover bits from the reception signal that was spread using the same spreading code at the transmitter end. The output signals of the individual fingers are combined in order to improve the communication reliability and the communication behavior.
The channel decoder receives from the RAKE receiver a CDMA-decoded radio signal, which has been subjected to error protection coding using a convolutional code, for example, and has been transmitted via a radio channel exhibiting interference, and decodes said signal in accordance with the convolutional code. The channel decoder recovers the useful information items contained in the radio signal with the highest possible success rate, i.e. with the lowest possible bit error rate.
The transmission module carries out, for a signal to be transmitted, a channel coding using a linear block code or a convolutional code, for example, and shares the signal between physical channels by means of the CDMA multiple access method.
Controlling the data transmission in a data processing apparatus is difficult for the following reasons. The data packet sizes, the data rates and the data structures may be variable. Each data source may have a plurality of data channels. An individual data source may be divided into a plurality of data destinations. Moreover, the information items about the structure of the data and the temporal variation thereof in the data stream may be contained in the latter itself or in control channels transmitted in parallel with the incoming data.
In the case of the UMTS radio telecommunication system, the data transmission between the individual dedicated data processing devices and the central processing device is subjected to great fluctuations that are principally evident in the variable data rate via the radio interface. Given a constant chip rate on the radio transmission link, the bit rate of a subscriber signal that is represented in the chip stream is dependent only on the spreading factor of the respective subscriber-specific spreading code or the respective subscriber-specific code sequence since the chip rate is greater than the bit rate by the spreading factor. In this case, the spreading factor corresponds to the number of chips per bit. In order to be able to realize variable data rates, spreading codes of different lengths or with a different spreading factor are used. In the case of the UMTS radio telecommunication system, the data rate may fluctuate in a range between 32 kbit/s and 2 Mbit/s and is extremely dependent on the equipment class to be realized. For the data transmission between the dedicated data processing devices and the central data processing device and between the dedicated data processing devices among one another, this means that the required bus bandwidth is subjected to the same or at least comparable fluctuations and these fluctuations additionally have an effect on a small time base in the region of one time frame (10 ms). Therefore, data transmission methods have to be reprogrammed on this time base. In the case of the UMTS radio telecommunication systems there is additionally the need to demodulate the different physical channels (DPCH, DSCH, S-CCPCH, P-CCPCH) which have different data rates and are switched in or removed on the basis of time slots (1 time slot= 1/15 time frame=666 μsec). Moreover, power measurements at different monitor cells are also additionally carried out at active cells. The results on account of the demodulation and also the power measurements have to be transmitted with transmission rates that fluctuate greatly on a small time base to the central data processing device or to other dedicated data processing devices.
In order to combat the difficulties of the variable data rates and data structures in the case of data processing apparatuses such as in the UMTS radio telecommunication system, it is known for the digital signal processor or a controller to move or transmit the data. For this purpose, the digital signal processor reads out status information items from the dedicated data processing devices or the peripheral elements or extracts said information items from data that have already been processed. If necessary, the digital signal processor assigns memories to the data and generates a data transmission parameter list in order to control the data transmission. The data transmission parameter list is used by the program code for a data transmission. If a data source, such as e.g. a dedicated data processing device, has data to be moved, it sends an interrupt to the digital signal processor. The interrupt or the program interruption effects a task switch in the digital signal processor. The execution of the program code for the data transmission is then begun and the first data transmission parameters of the data transmission parameter list are used in order to control the first data transmission.
One advantage of the data transmission by the digital signal processor consists in the associated simplicity of the data processing apparatus. One disadvantage consists in the fact that although the program code required for such a data transmission is generally simple, it may disadvantageously represent a considerable loading on the central data processing device. This is due, inter alia, to the time required to react to each interrupt, the determination and the checking of the addresses, and the time during which the digital signal processor often has to wait until the data have moved through an often complex bus system. The essential disadvantage of transmitting the data with the aid of the digital signal processor or the controller consists in the fact that the digital signal processor requires a great deal of time for transmitting the data and therefore has less time for processing the data and for other tasks. This is the case particularly when the data rate is high and varies and when the data flow changes frequently. One example of this is a base station of a UMTS radio telecommunication system, in the case of which an efficient task switch is desirable since the latter enables an individual digital signal processor to process a plurality of signal paths of a received signal (multipath propagation) and/or to control a plurality of mobile stations.
A second known possibility for combating the problem of the variable data rate and data structures in data processing systems consists in using a special device that carries out data transmissions between the data processing devices. Such a device is usually referred to as a data transmission device. A known data transmission device is e.g. a direct memory access (DAM) data transmission device, which transmits data via DMA data channels.
A simple data transmission device has a data transmission parameter register in order to control the data transmissions. More complicated data transmission devices have a list of data transmission parameters in a memory. In the case of UMTS radio telecommunication systems this data transmission parameter list is generated by the controller or the processor and loaded into a suitable memory position. If the data transmission parameter list is divided into blocks containing not only the data transmission parameters for a data transmission or a group of data transmissions but furthermore the address of a next block of data transmission parameters in a memory, then said list is referred to as a linked list. Consequently, a long sequence of data transmissions can be carried out by the data transmission device without the need for a further intervention by the digital signal processor. In the case of a DMA data channel, a counter is used as address generator instead of the digital signal processor. For initialization, an address register is loaded with a start address of a memory area to be read and the number of bytes to be transmitted is communicated to a counting register. The fact of whether the addresses are intended to be counted upward or downward and whether the memory being accessed is intended to be written to or read from is defined in a control register of the DMA data channel. The data transmission can be carried out in blocks and is effected without processing a program on the basis of a counting clock.
During the transmission of data, the digital signal processor firstly has to interrupt the current operation (task switch) and read and interpret the information items in the variations of the data flow. These information items have to be read from the data source, e.g. a dedicated data processing device such as a RAKE receiver, or be interpreted from the control information items in the data flow. The digital signal processor then has to calculate source addresses, destination addresses, the data block length and other data transmission parameters required for each transmission. Finally, the processor copies the data transmission parameters to the data transmission device and enables the transmission.
The advantage of using a data transmission device between data processing devices consists in the fact that the digital signal processor is not halted and is used to move data. By way of example, substantially higher data transmission speeds can be achieved with a DMA data channel than with a conventional interface. One disadvantage of using a data transmission device consists in the fact that the variable data rates and data structures can lead to severe temporal bottlenecks since the time required to carry out the steps described above limits the rate with which the data processing system can react to variations in the data flow. The digital signal processor must have sufficient power reserves to be able to react quickly enough and to be able, for example, to reprogram the DMA data channel. The time required on account of task switches, bridges between different bus systems and reprogramming of DMA channels in order to carry out the steps is not constant on account of variations in the bus load and since the digital signal processor has to carry out other important tasks at the same point in time. This makes it more difficult for the digital signal processor to synchronize the required changes in the data flow with the changes in the data transmission parameters for the data transmission device. The bus load on account of these steps reduces the bus capacity available for the required data flow.
A further known possibility for combating the problem of the variable data rates and data structures in data processing apparatuses consists in providing buffer areas in the dedicated data processing devices and a memory which are large enough to cope with the worst-case data flow and the worst-case data rate. If interrupts or data transmission requests are received, then the entire content of a buffer is transmitted between the data processing devices without the data transmission device knowing whether or not the buffer is filled. The data transmission device, i.e. the controller, the digital signal processor or the DMA data transmission device, has to manage separate source pointers, destination pointers and block length counters for each data channel, e.g. DMA data channel. The data destination, i.e. the memory, must be large enough to accommodate the real data and the dummy buffer areas.
The advantage of providing buffer areas in the dedicated data processing devices and a memory consists in the fact that the data processing apparatus and the control of the data transmission are constructed in a simple manner. Disadvantages are that a high transmission bandwidth is necessary since the maximum possible quantity of data is always transmitted, that an at least required bus frequency and bus word width must be ensured, that an additional memory space is required at the data source and the data destination, which is provided for dummy data blocks, and that the data have to be arranged to form contiguous data streams again in the destination.
A further known possibility for combating the problem of the variable data rate and data structures in data processing apparatuses consists in combining the data of a plurality of data packets or data buffers to form a larger data block for a transmission. This larger data block has to be decomposed after transmission. This procedure has the advantage that the data transmission is very simple. One disadvantage consists in the fact that the data for each data channel have to be arranged anew at the data destination and be combined to form contiguous data streams. The data streams have to be searched for control information items about the data structure. These information items have to be used in order to arrange the data for each data channel in contiguous data streams.
A further known possibility for combating the problem of the variable data rates and data structures in data processing apparatuses consists in setting up separate data transmission channels for each data channel or partial data channel in a dedicated data processing device. One advantage here consists in the fact that there is no need for additional subsequent processing since the data channels are directed to the correct data destinations. One disadvantage consists in the fact that the complexity of the data processing apparatus increases since each data channel and each partial data channel requires separate data transmission request signals, source pointers, destination pointers and block length counters. A further disadvantage consists in the fact that, in order to process the variable data rates, a memory block is required in the data destination for each data channel or partial data channel which can process the maximum possible data rate.